package com.baitai.system.mapper;

import java.util.Date;
import java.util.List;
import com.baitai.system.domain.IssueTask;
import com.baitai.system.domain.IssueTaskFile;
import org.apache.ibatis.annotations.Param;

/**
 * 任务下发Mapper接口
 * 
 * @author xx
 * @date 2024-07-14
 */
public interface IssueTaskMapper 
{
    /**
     * 查询任务下发
     *
     * @param id 任务下发主键
     * @return 任务下发
     */
    public IssueTask selectIssueTaskById(Long id);

    /**
     * 查询任务下发列表
     *
     * @param issueTask 任务下发
     * @return 任务下发集合
     */
    public List<IssueTask> selectIssueTaskList(IssueTask issueTask);

    /**
     * 新增任务下发
     *
     * @param issueTask 任务下发
     * @return 结果
     */
    public int insertIssueTask(IssueTask issueTask);

    /**
     * 修改任务下发
     *
     * @param issueTask 任务下发
     * @return 结果
     */
    public int updateIssueTask(IssueTask issueTask);

    /**
     * 删除任务下发
     *
     * @param id 任务下发主键
     * @return 结果
     */
    public int deleteIssueTaskById(Long id);

    /**
     * 批量删除任务下发
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteIssueTaskByIds(Long[] ids);

    /**
     * 批量删除${subTable.functionName}
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteIssueTaskFileByIssueTaskIds(Long[] ids);

    /**
     * 批量新增${subTable.functionName}
     *
     * @param issueTaskFileList ${subTable.functionName}列表
     * @return 结果
     */
    public int batchIssueTaskFile(List<IssueTaskFile> issueTaskFileList);


    /**
     * 通过任务下发主键删除${subTable.functionName}信息
     *
     * @param id 任务下发ID
     * @return 结果
     */
    public int deleteIssueTaskFileByIssueTaskId(Long id);


    String issueTaskNumber(@Param("start") Date start, @Param("end")Date end);
}
